草庐IT

TypeScript 条件语句

全部标签

javascript - typescript /Javascript : using tuple as key of Map

在我的代码中遇到了这个奇怪的错误,当我使用元组作为我的键时,我无法想出从Map中获取恒定时间查找的方法。希望这能说明问题,我现在使用的解决方法只是为了让它工作:你好.ts:letmap:Map=newMap().set([0,0],48);console.log(map.get([0,0]));//printsundefinedconsole.log(map.get(String([0,0])));//compiler:errorTS2345:Argumentoftype//'string'isnotassignabletoparameteroftype'[number,number]

javascript - 在 if 语句中使用函数的返回值

希望这里有一个简短的问题。你能在if语句中使用函数的返回值吗?即functionqueryThis(request){returnfalse;}if(queryThis('foo')!=false){doThat();}我敢肯定,这非常简单明了,但我遇到了很多语法错误的问题,而且我无法确定问题所在。 最佳答案 你可以简单地使用if(queryThis('foo')){doThat();}functionqueryThis(parameter){//somecodereturntrue;}

javascript - 在 Meteor 中如何有条件地向客户端发送数据?

我正在尝试找出如何有条件地向meteor中的客户端发送数据.我有两种用户类型,根据用户类型,他们在客户端的界面(因此他们需要的数据也不同)。假设用户属于counselor或student类型。每个用户文档都有类似role:'counselor'或role:'student'的内容。学生有学生特定信息,如sessionsRemaining和counselor,辅导员有pricePerSession等信息。我如何确保客户端的Meteor.user()具有我需要的信息,并且没有多余的信息?如果我以学生身份登录,Meteor.user()应包括sessionsRemaining和counsel

javascript - 使用 PHPStorm 在 TypeScript 项目中包含一个 *.d.ts 文件(和相应的 JS)

我想深入研究TypeScript(因为对我来说它看起来很有前途),因此我想重写一个我自己的小JS项目。所以我开始创建一些类(每个类在一个单独的文件中),但我对那些*.d.ts文件有点困惑。我该如何与他们合作?我需要在.ts文件中引用它们吗?因为PHPStorm似乎无论如何都会索引*.d.ts文件。我正在使用grunt-ts(https://github.com/grunt-ts/grunt-ts)将项目编译成JavaScript,看来这个项目需要引用文件。但是当我在第一行中这样引用它时:///编译器说:....Model.ts(37,20):errorTS1084:Invalidref

javascript - promise 解决后 typescript 返回 bool 值

我试图在promise解决后返回一个bool值,但typescript给出了一个错误说“get”访问器必须返回一个值。我的代码看起来像。gettokenValid():boolean{//Checkifcurrenttimeispastaccesstoken'sexpirationthis.storage.get('expires_at').then((expiresAt)=>{returnDate.now(){returnfalse});}此代码用于Ionic3应用程序,存储是IonicStorage实例。 最佳答案 您可以返回解

JavaScript 在 if 语句中返回 false

使用“returnfalse;”是好的做法吗?在if语句中基本上说什么都不做?例如:if(navigator.userAgent.match(/iPad/i)!=null){returnfalse;}else{//Usualscripthere}只是想知道这是否有任何缺点。我可以在没有else的情况下使用if语句,但我只是想深入了解这一点。我有一个我不想在iPad上运行的插件,所以我将它包装在条件中。如有任何意见,我们将不胜感激! 最佳答案 第1组会说这是可怕的做法,因为很难遵循。第2组会说去做。第3组会说做,但在1行中第4组会说不

javascript - 继承和 TypeScript 错误 : X is not a constructor function type

我有一个父类(superclass),我希望从中继承其他两个类。下面列出了这些类(class)。当我编译时,试图继承的两个类提示父类(superclass)(给出相同的错误):“[类文件路径(在本例中为A)]不是构造函数类型”A.tsexportclassA{//privatefields...constructor(username:string,password:string,firstName:string,lastName:string,accountType:string){//initialisation}}B.tsimportA=require('./A);exportc

javascript - TypeScript 和 React - 一个用于多个输入字段的 onChange 处理程序

假设我有一个包含多个输入字段的表单。在普通的ES6/React中,我会创建一个方法,所有输入字段都会将它们的onChange处理程序指向该方法。像这样:handleChange(e){e.preventDefault();this.setState({[e.target.name]:e.target.value});}这在您有很多表单元素并且不必创建特定方法来处理每个元素的情况下很有帮助。这在TypeScript中可行吗?即使它不是类型安全的? 最佳答案 正如评论中的回答,您可以在JavaScript中执行的所有操作也是有效的Typ

javascript - 在循环中,结束条件中的任何操作是否在每次迭代中都得到评估?

在下面的代码中:for(vari=0;i操作object.length是否在迭代中每次都被评估?最有意义的是,该语言将对其进行一次评估并保存结果。但是,我正在阅读一些代码,其中有人在循环开始之前评估操作并将其存储在结束条件中使用的变量中。不同的语言对此有不同的处理方式吗?有关于Javascript的具体信息吗? 最佳答案 这显然取决于语言。对于JavaScript,规范(ECMAScript§12.6.3)要求每次都对其求值。作为一种优化,特定的JavaScript运行时可以跳过一个或多个length调用,如果它可以证明结果不会改变

javascript - jade 的语法支持 switch 语句吗?

我在express服务的jade中试过这个,但得到了“意外的标识符”作为错误。-switch(myvar)-case:"0"spanFirstCasebreak-case:"2"spanSecondCasebreak-case:"3"spanThirdCasebreak-case:"4"spanFourthCasebreak我很好奇switch语句的语法是什么,如果有的话。更新:Jade,不是express。 最佳答案 编辑这个问题显然是关于Jade的。但答案仍然是肯定的:)。但是它叫做case:来自thedocscasefrien